package com.softWang.job.vo.jobManage;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
/**
 * <p>
 * 定时任务管理---定时任务表修改时数据内容
 * </p>
 *
 * @author wang
 * @since 2025-05-08
 */
@Data
@ApiModel
public class JobManageEditParam {

    @ApiModelProperty(value = "任务ID,长度19")
    @NotNull(message = "jobId不能为空")
    private Long jobId;

    @ApiModelProperty(value = "任务名称,长度50")
    @NotBlank(message = "jobName不能为空")
    @Size(max = 50, message = "jobName最大长度为50")
    private String jobName;

    @ApiModelProperty(value = "任务组名,长度50")
    @NotBlank(message = "jobGroup不能为空")
    @Size(max = 50, message = "jobGroup最大长度为50")
    private String jobGroup;

    @ApiModelProperty(value = "任务类全名（包含包名）且类需继承AbstractQuartzJob,长度255")
    @NotBlank(message = "jobClassName不能为空")
    @Size(max = 255, message = "jobClassName最大长度为255")
    private String jobClassName;

    @ApiModelProperty(value = "job执行需要的参数,长度500")
    @Size(max = 500, message = "parameter最大长度为500")
    private String parameter;

    @ApiModelProperty(value = "cron执行表达式,长度20")
    @NotBlank(message = "cronExpression不能为空")
    @Size(max = 20, message = "cronExpression最大长度为20")
    private String cronExpression;

    @ApiModelProperty(value = "cron计划策略,长度255")
    @Size(max = 255, message = "misfirePolicy最大长度为255")
    private String misfirePolicy;

    @ApiModelProperty(value = "任务状态（0正常 1暂停） ,长度2")
    @NotBlank(message = "status不能为空")
    @Size(max = 2, message = "status最大长度为2")
    private String status;

    @ApiModelProperty(value = "任务是否是一次性任务（1 一次性， 0 持续任务）,长度2")
    @NotBlank(message = "sysJobOnce不能为空")
    @Size(max = 2, message = "sysJobOnce最大长度为2")
    private String sysJobOnce;

    @ApiModelProperty(value = "任务是否完成（1 完成， 0 未完成）,长度255")
    @NotBlank(message = "finish不能为空")
    @Size(max = 255, message = "finish最大长度为255")
    private String finish;

}
